package com.cloudkinto.service.consumer.vo.amazon.fulfillment;

import lombok.Data;
import lombok.Getter;
import lombok.Setter;

import javax.xml.bind.annotation.*;
import java.util.List;


@XmlType(propOrder = { "amazonOrderID", "fulfillmentDate", "fulfillmentData","CODCollectionMethod","item"})
@XmlAccessorType(XmlAccessType.PROPERTY)
public class AmazonOrderFulfillment {

    private String AmazonOrderID;
    private String FulfillmentDate;
    private FulfillmentData FulfillmentData;
    private String CODCollectionMethod;
    private List<Item> Item;

    @XmlElement(name = "AmazonOrderID")
    public String getAmazonOrderID() {
        return AmazonOrderID;
    }

    public void setAmazonOrderID(String amazonOrderID) {
        AmazonOrderID = amazonOrderID;
    }

    @XmlElement(name = "CODCollectionMethod")
    public String getCODCollectionMethod() {
        return CODCollectionMethod;
    }

    public void setCODCollectionMethod(String CODCollectionMethod) {
        this.CODCollectionMethod = CODCollectionMethod;
    }
    @XmlElement(name = "FulfillmentDate")
    public String getFulfillmentDate() {
        return FulfillmentDate;
    }

    public void setFulfillmentDate(String fulfillmentDate) {
        FulfillmentDate = fulfillmentDate;
    }
    @XmlElement(name = "FulfillmentData")
    public FulfillmentData getFulfillmentData() {
        return FulfillmentData;
    }

    public void setFulfillmentData(FulfillmentData fulfillmentData) {
        FulfillmentData = fulfillmentData;
    }
    @XmlElement(name = "Item")
    public List<Item> getItem() {
        return Item;
    }

    public void setItem(List<Item> item) {
        Item = item;
    }

    @XmlRootElement(name = "FulfillmentData")
    @XmlAccessorType(XmlAccessType.FIELD)
    @Data
    public static class FulfillmentData {
        @XmlElement(name = "CarrierName")
        private String CarrierName;
        @XmlElement(name = "CarrierCode")
        private String CarrierCode;
        @XmlElement(name = "ShippingMethod")
        private String ShippingMethod;
        @XmlElement(name = "ShipperTrackingNumber")
        private String ShipperTrackingNumber;

    }
    @XmlRootElement(name = "Item")
    @XmlAccessorType(XmlAccessType.FIELD)
    @Data
    public static class Item {
        @XmlElement(name = "AmazonOrderItemCode")
        private String AmazonOrderItemCode;
        @XmlElement(name = "MerchantFulfillmentItemID")
        private String MerchantFulfillmentItemID;
        @XmlElement(name = "Quantity")
        private String Quantity;
    }
}
